package com.ruoyi.slope.ai.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 监测任务配置对象 slope_ai_monitoring_mission_config
 * 
 * @author ruoyi
 * @date 2025-09-05
 */
public class SlopeAiMonitoringMissionConfig extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 任务唯一标识符 (主键) */
    private String missionId;

    /** 任务名称 */
    @Excel(name = "任务名称")
    private String missionName;

    /** 目标区域/设备 */
    @Excel(name = "目标区域/设备")
    private String targetArea;

    /** 任务类型 (无人机巡航, 定点摄像头分析) */
    @Excel(name = "任务类型 (无人机巡航, 定点摄像头分析)")
    private String missionType;

    /** 执行周期 (CRON表达式) */
    @Excel(name = "执行周期 (CRON表达式)")
    private String cronSchedule;

    /** 关联的AI模型ID (外键) */
    @Excel(name = "关联的AI模型ID (外键)")
    private String linkedModelId;

    /** 是否启用 */
    @Excel(name = "是否启用")
    private Integer isActive;

    /** 任务备注 */
    @Excel(name = "任务备注")
    private String notes;

    public void setMissionId(String missionId) 
    {
        this.missionId = missionId;
    }

    public String getMissionId() 
    {
        return missionId;
    }

    public void setMissionName(String missionName) 
    {
        this.missionName = missionName;
    }

    public String getMissionName() 
    {
        return missionName;
    }

    public void setTargetArea(String targetArea) 
    {
        this.targetArea = targetArea;
    }

    public String getTargetArea() 
    {
        return targetArea;
    }

    public void setMissionType(String missionType) 
    {
        this.missionType = missionType;
    }

    public String getMissionType() 
    {
        return missionType;
    }

    public void setCronSchedule(String cronSchedule) 
    {
        this.cronSchedule = cronSchedule;
    }

    public String getCronSchedule() 
    {
        return cronSchedule;
    }

    public void setLinkedModelId(String linkedModelId) 
    {
        this.linkedModelId = linkedModelId;
    }

    public String getLinkedModelId() 
    {
        return linkedModelId;
    }

    public void setIsActive(Integer isActive) 
    {
        this.isActive = isActive;
    }

    public Integer getIsActive() 
    {
        return isActive;
    }

    public void setNotes(String notes) 
    {
        this.notes = notes;
    }

    public String getNotes() 
    {
        return notes;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("missionId", getMissionId())
            .append("missionName", getMissionName())
            .append("targetArea", getTargetArea())
            .append("missionType", getMissionType())
            .append("cronSchedule", getCronSchedule())
            .append("linkedModelId", getLinkedModelId())
            .append("isActive", getIsActive())
            .append("notes", getNotes())
            .toString();
    }
}
